package com.molichuxing.services.infrastructure.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.CheckDisputeCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.CheckDisputeModifyDto;
import com.molichuxing.services.infrastructure.dto.response.CheckDisputeDto;

/**
 * <p>
 * 争议处理表 服务类
 * </p>
 *
 * @author
 * @since 2019-08-15
 */
public interface CheckDisputeService extends RootService {

	/***
	 * 根据检验id 获取检验信息
	 * 
	 * @param checkId
	 * @return
	 */
	CheckDisputeDto getByCheckId(Integer checkId);

	/***
	 * 争议处理
	 * 
	 * @param checkId
	 * @param discussLossFee
	 * @param remark
	 * @param operatorAccount
	 *            操作人
	 * @return
	 */
	int modifyCheckDispute(Integer checkId, BigDecimal discussLossFee, String remark, String operatorAccount)
			throws Exception;

	/**
	 * 争议添加
	 * 
	 * @param checkDisputeCreateDto
	 * @return
	 * @throws Exception
	 */
	int createCheckDispute(CheckDisputeCreateDto checkDisputeCreateDto) throws Exception;

	/**
	 * 修改争议
	 *
	 * @param checkDisputeModifyDto
	 * @return
	 * @throws Exception
	 */
	Boolean modifyCheckDispute(CheckDisputeModifyDto checkDisputeModifyDto) throws Exception;

	/**
	 * 查询
	 * 
	 * @param orderCodes
	 * @return
	 */
	public Map<Long, CheckDisputeDto> getCheckDispute(List<Long> orderCodes);

}
